home *** CD-ROM | disk | FTP | other *** search
- import java.awt.geom.Ellipse2D;
-
- public class Circle {
- private int diameter = 30;
- private int xPosition = 20;
- private int yPosition = 60;
- private String color = "blue";
-
- public Circle() {
- this.draw();
- }
-
- public void moveRight() {
- this.moveHorizontal(20);
- }
-
- public void moveLeft() {
- this.moveHorizontal(-20);
- }
-
- public void moveUp() {
- this.moveVertical(-20);
- }
-
- public void moveDown() {
- this.moveVertical(20);
- }
-
- public void moveHorizontal(int distance) {
- this.erase();
- this.xPosition += distance;
- this.draw();
- }
-
- public void moveVertical(int distance) {
- this.erase();
- this.yPosition += distance;
- this.draw();
- }
-
- public void slowMoveHorizontal(int distance) {
- int delta;
- if (distance < 0) {
- delta = -1;
- distance = -distance;
- } else {
- delta = 1;
- }
-
- for(int i = 0; i < distance; ++i) {
- this.erase();
- this.xPosition += delta;
- this.draw();
- }
-
- }
-
- public void slowMoveVertical(int distance) {
- int delta;
- if (distance < 0) {
- delta = -1;
- distance = -distance;
- } else {
- delta = 1;
- }
-
- for(int i = 0; i < distance; ++i) {
- this.erase();
- this.yPosition += delta;
- this.draw();
- }
-
- }
-
- public void changeSize(int newDiameter) {
- this.erase();
- this.diameter = newDiameter;
- this.draw();
- }
-
- public void changeColor(String newColor) {
- this.color = newColor;
- this.draw();
- }
-
- private void draw() {
- Canvas canvas = Canvas.getCanvas();
- canvas.setForegroundColour(this.color);
- canvas.fill(new Ellipse2D.Double((double)this.xPosition, (double)this.yPosition, (double)this.diameter, (double)this.diameter));
- canvas.wait(10);
- }
-
- private void erase() {
- Canvas canvas = Canvas.getCanvas();
- canvas.erase(new Ellipse2D.Double((double)this.xPosition, (double)this.yPosition, (double)this.diameter, (double)this.diameter));
- }
- }
-